#ifndef __GAMESTATEMGR_H__
#define __GAMESTATEMGR_H__


#include "GameState.h"
#include <vector>

class GameState;

/*
*/
class GameStateMgr
{
private:
	std::vector<GameState*> m_states;
	GameStateMgr();

	static GameStateMgr* stateMgr;
public:
	~GameStateMgr();
	static GameStateMgr* getSingleton(void);



	void start(void);	// Main initialisations call be placed here if needed.
	void changeState(GameState* state);
	void pushState(GameState* state);
	void popState();

};


#endif
